The field of the present disclosure relates generally to imaging, and more particularly but not exclusively to reading of optical codes such as, for example, bar codes.
Optical codes encode useful, optically-readable information about the items to which they are attached or otherwise associated. Perhaps the best example of an optical code is the bar code. Bar codes are ubiquitously found on or associated with objects of various types, such as the packaging of retail, wholesale, and inventory goods; retail product presentation fixtures (e.g., shelves); goods undergoing manufacturing; personal or company assets; documents; and document files. By encoding information, a bar code typically serves as an identifier of an object, whether the identification be to a class of objects (e.g., containers of milk) or a unique item (e.g., U.S. Pat. No. 7,201,322).
Bar codes include alternating bars (i.e., relatively dark areas) and spaces (i.e., relatively light areas). The pattern of alternating bars and spaces and the widths of those bars and spaces represent a string of binary ones and zeros, wherein the width of any particular bar or space is an integer multiple of a specified minimum width, which is called a “module” or “unit.” Thus, to decode the information, a bar code reader must be able to reliably discern the pattern of bars and spaces, such as by determining the locations of edges demarking adjacent bars and spaces from one another, across the entire length of the bar code.
Bar codes are just one example of the many types of optical codes in use today. The most common bar codes are one-dimensional or linear optical codes, such as the UPC code or Code 39 bar code, where the information is encoded in one direction—the direction perpendicular to the bars and spaces. Higher-dimensional optical codes, such as, two-dimensional matrix codes (e.g., MaxiCode) or stacked codes (e.g., PDF 417), which are also sometimes referred to as “bar codes,” are also used for various purposes.
An imager-based reader utilizes a camera or imager to generate electronic image data (typically in digital form) of an optical code. The image data is then processed to find and decode the optical code. For example, virtual scan line techniques are known techniques for digitally processing an image containing an optical code by looking across an image along a plurality of lines, typically spaced apart and at various angles, somewhat similar to the scan pattern of a laser beam in a laser-based scanner.
Imager-based readers often can only form images from one perspective—usually that of a normal vector out of the face of the imager. Such imager-based readers therefore provide only a single point of view, which may limit the ability of the reader to recognize an optical code in certain circumstances. For example, because the scan or view volume of an imager in an imager-based reader is typically conical in shape, attempting to read a barcode or other image in close proximity to the scanning window (reading “on the window”) may be less effective than with a basket-type laser scanner. Also, when labels are oriented such that the illumination source is reflected directly into the imager, the imager may fail to read properly due to uniform reflection washing out the desired image entirely, or the imager may fail to read properly due to reflection from a textured specular surface washing out one or more elements. This effect may cause reading of shiny labels to be problematic at particular reflective angles. In addition, labels oriented at extreme acute angles relative to the imager may not be readable. Lastly, the label may be oriented on the opposite side of the package with respect to the camera view, causing the package to obstruct the camera from viewing the barcode.
Thus, better performance could result from taking images from multiple perspectives. A few imager-based readers that generate multiple perspectives are known. One such reader is disclosed in the present assignee's Olmstead et al. U.S. Pat. No. 7,398,927 which discloses an embodiment having two cameras to collect two images from two different perspectives for the purpose of mitigating specular reflection. U.S. Pat. No. 6,899,272 discloses one embodiment that utilizes two independent sensor arrays pointed in different orthogonal directions to collect image data from different sides of a package. Unfortunately, multiple-camera imager-based readers that employ spatially separated cameras require multiple circuit boards and/or mounting hardware and space for associated optical components which can increase the expense of the reader, complicate the physical design, and increase the size of the reader. Another embodiment according to the '272 patent utilizes a single camera pointed at a moveable mirror that can switch between two positions to select one of two different imaging directions. Additionally, the present assignee's Olmstead et al. U.S. Pat. No. 5,814,803 depicts in its FIG. 62 what may be described as a kaleidoscope tunnel formed from two mirrored surfaces, resulting in eight different, rotated versions of the same barcode from an object on a single imager.
The applicant has, therefore, determined that it would be desirable to provide an imager-based reader that improves on the limitations of existing imager-based readers.